package com.ljm.sys.org.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * <p>
 * 系统用户
 * </p>
 *
 * @author HuamingChen
 * @since 2018-12-19
 */

@ApiModel(value = "SysUserDto对象", description = "系统用户")
@Data
public class SysOrgUserDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    private Long id;

    @ApiModelProperty(value = "版本号")
    private Long version;

    @ApiModelProperty(value = "创建人")
    private String creater;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "修改人")
    private String editor;

    @ApiModelProperty(value = "修改时间")
    private LocalDateTime editTime;

    @ApiModelProperty(value = "状态：-1注销、1正常、0冻结")
    private Integer status;

    @ApiModelProperty(value = "用户名称")
    private String loginName;

    @ApiModelProperty(value = "密码")
    private String loginPwd;

    @ApiModelProperty(value = "昵称")
    private String nickName;

    @ApiModelProperty(value = "真实名称")
    private String realName;

    @ApiModelProperty(value = "身份证号码")
    private String identityNo;

    @ApiModelProperty(value = "用户头像")
    private String header;

    @ApiModelProperty(value = "联系方式")
    private String mobile;

    @ApiModelProperty(value = "职位")
    private String position;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "地址")
    private String address;

    @ApiModelProperty(value = "用户类型：0后台用户、1前端用户")
    private String type;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "机构id")
    private String orgId;

    @ApiModelProperty(value = "微信openid")
    private String openId;

    @ApiModelProperty(value = "用户角色")
    private Set<String> roles=new HashSet<>();

    @ApiModelProperty(value = "用户权限")
    private Set<String> permissions;

    @ApiModelProperty(value = "性别")
    private Integer gender;

    @ApiModelProperty(value = "部门")
    private List<Long> deptIds=new ArrayList<>();
}
